package com.butnet.myframe.template;

import java.io.File;
import java.io.InputStream;

public interface TemplateLexer {
	/**
	 * 解析文件
	 * 
	 * @param file
	 */
	public void parse(File file);

	/**
	 * 下一个语句
	 * 
	 * @return
	 */
	public String next();

	/**
	 * 是否还有下一个语句
	 * 
	 * @return
	 */
	public boolean hasNext();

	/**
	 * 取得第i个语句
	 * 
	 * @param index
	 * @return
	 */
	public String getAt(int index);

	/**
	 * 取得语句条数
	 * 
	 * @return
	 */
	public int size();

	/**
	 * 添加监听
	 * 
	 * @param listener
	 */
	public void addTemplateLexerListener(TemplateLexerListener listener);

	/**
	 * 添加监听
	 * 
	 * @param listener
	 */
	public void removeTemplateLexerListener(TemplateLexerListener listener);

	public void parse(InputStream in);
}
